Page History: Cancel Reject
Compare Page Revisions
Page Revision: 2012/12/12 15:42
Rejecting Attempts to Ammend or Cancel OrdersThe Order Cancel Reject message (MsgType=9) is used by the T4 FIX API to electronically cancel (i.e. pull) working orders. This message is utilized for all CTS strategy types including outright futures, futures options, spreads and other multileg strategies.
The identification of the instrument for which the cancellation is submitted is established with the following tags: Tag 48 (SecurityID), Tag 55 (Symbol) and Tag 207 (SecurityExchange). Note that under CTS terminology, SecurityID is equivalent to MarketID, Symbol is equivalent to ContractID and SecurityExchange is equivalent to ExchangeID.
In addition to full specification of the market, all cancel requests must be uniquely identified with a verbose (>12 characters) Client Order Id (Tag 11).
Identifying the Order to be CanceledWorking Orders to be canceled can be identified by using the working order (client-side) identifier or the (CTS generated) order identifier. For the cancel request message, the OrigClOrdId (Tag 41) and the OrderId (Tag 37) would be supplied. Orders that have experienced rejections can subsequently be canceled with OrderId or by using the ClOrdId of the previous rejection.
Orders submitted outside the T4 FIX API (e.g. the CTS T4 Front-End and/or custom T4 API application) can only be canceled with OrderId (Tag 37). As OrigOrdClId is undetermined but a required tag for the cancel request, the OrigOrdClId (Tag 41) is set with the value of the OrderId (Tag 37). To cover all scenarios, it is recommended that both OrigClOrdId (Tag 41) and OrderId (Tag 37) be specified for all cancel requests.
Note that malformed cancel request orders (including missing required tags, empty tags, invalid tag value range, etc.) will be rejected with a FIX Session
Reject message. Business level rejections are manisfested with
Cancel Reject messages.
Message Dictionary
Tag | Field Name | Req'd | Comments |
---|
| Standard Header | Y | MsgType = 9 |
1 | Account | N | Account for which the order is submitted. |
11 | ClOrdID | Y | (Client-Side) identifier for this cancel request. Must be unique. |
41 | OrigClOrdID | Y | (Client-Side) ClOrdID (Tag 11) of the target working order. (NOT the initial order of the order chain). |
37 | OrderId | N | Unique identifier for the target working order as assigned by T4 servers. OrderId uniqueness is guaranteed accross all trading sessions regardless of order entry origin. |
48 | SecurityID | Y | Security identifier. This is the T4 Market ID. |
55 | Symbol | Y | Symbol. This is the T4 Contract ID. |
207 | SecurityExchange | Y | Exchange at which the security trades. This is the T4 Exchange ID. |
167 | SecurityType | N | Instrument type. Futures="FUT", Options="OPT", Stock="STK", Synthetic="SYN", Binary Option="BIN" |
54 | Side | Y | Side of the market. Valid values are: |
| | | 0 = None (used for Flatten orders) |
| | | 1 = Buy |
| | | 2 = Sell |
38 | OrderQty | N | The number of contracts to be canceled. This value reflects the working order's original Quantity (OrderQty) and not its remaining quantity. |
60 | TransactTime | Y | Time this cancel request was requested for. Specified in UTC form. |
58 | Text | N | Free form Text. |
109 | CliendID | N | Firm identification for third-party transactions |
107 | SecurityDesc | N | Security Description as specified by Security ID (Tag 48) |
| Standard Trailer | Y |
Sample MessagesCancel Rejection of a Cancel Replace Request with a bad price
[FIXCANCELREPLACE] 34=435|49=T4Test|56=test|50=Ernesto|52=20121212-21:35:28.083|1=ernesto|11=fr-634909233280833034|41=fn-634909233209540909|37=EDDF2612-A6E5-426D-A7A1-0925EBA836B5|48=CME_20121200_ESZ2|55=ES|207=CME_Eq|54=1|38=1|40=2|44=143001|59=0|167=FUT|21=1|60=20121212-21:35:28.083|204=0|
[FIXCANCELREPLACE]
[MsgSeqNum] 34 = 435
[SenderCompID] 49 = T4Test
[TargetCompID] 56 = test
[SenderSubID] 50 = Ernesto
[SendingTime] 52 = 20121212-21:35:28.083
[Account] 1 = ernesto
[ClOrdID] 11 = fr-634909233280833034
[OrigClOrdID] 41 = fn-634909233209540909
[OrderID] 37 = EDDF2612-A6E5-426D-A7A1-0925EBA836B5
[SecurityID] 48 = CME_20121200_ESZ2
[Symbol] 55 = ES
[SecurityExchange] 207 = CME_Eq
[Side] 54 = 1 (BUY)
[OrderQty] 38 = 1
[OrdType] 40 = 2 (LIMIT)
[Price] 44 = 143001
[TimeInForce] 59 = 0 (DAY)
[SecurityType] 167 = FUT (FUTURE)
[HandlInst] 21 = 1 (AUTOMATED_EXECUTION_ORDER_PRIVATE_NO_BROKER_INTERVENTION)
[TransactTime] 60 = 20121212-21:35:28.083
[CustomerOrFirm] 204 = 0 (CUSTOMER)
[fixcancelreject] 34=2566|49=test|56=T4Test|50=T4FIX|52=20121212-21:35:28.098|1=ernesto|37=EDDF2612-A6E5-426D-A7A1-0925EBA836B5|11=fr-634909233280833034|41=fn-634909233209540909|39=0|434=2|102=2|58=CME:FIX field incorrect 'Illegal Price: '143001.0 contract 'ESZ2' (ticks in 25, CAB of 0)'|60=20121212-21:35:49.172|1028=N|
[FIXCANCELREJECT]
[MsgSeqNum] 34 = 2566
[SenderCompID] 49 = test
[TargetCompID] 56 = T4Test
[SenderSubID] 50 = T4FIX
[SendingTime] 52 = 20121212-21:35:28.098
[Account] 1 = ernesto
[OrderID] 37 = EDDF2612-A6E5-426D-A7A1-0925EBA836B5
[ClOrdID] 11 = fr-634909233280833034
[OrigClOrdID] 41 = fn-634909233209540909
[OrdStatus] 39 = 0 (NEW)
[CxlRejResponseTo] 434 = 2 (ORDER_CANCEL_REPLACE_REQUEST)
[CxlRejReason] 102 = 2 (BROKER_OPTION)
[Text] 58 = CME:FIX field incorrect 'Illegal Price: '143001.0 contract 'ESZ2' (ticks in 25, CAB of 0)'
[TransactTime] 60 = 20121212-21:35:49.172
[ManualOrderIndicator] 1028 = N (NO)
Cancel Rejection of a Cancel Request of a previously canceled order
[FIXCANCEL] 34=439|49=T4Test|56=test|50=Ernesto|52=20121212-21:37:11.508|1=ernesto|11=fc-634909234315082852|37=EDDF2612-A6E5-426D-A7A1-0925EBA836B5|41=fn-634909233209540909|48=CME_20121200_ESZ2|54=1|55=ES|207=CME_Eq|60=20121212-21:37:11.508|167=FUT|
[FIXCANCEL]
[MsgSeqNum] 34 = 439
[SenderCompID] 49 = T4Test
[TargetCompID] 56 = test
[SenderSubID] 50 = Ernesto
[SendingTime] 52 = 20121212-21:37:11.508
[Account] 1 = ernesto
[ClOrdID] 11 = fc-634909234315082852
[OrderID] 37 = EDDF2612-A6E5-426D-A7A1-0925EBA836B5
[OrigClOrdID] 41 = fn-634909233209540909
[SecurityID] 48 = CME_20121200_ESZ2
[Side] 54 = 1 (BUY)
[Symbol] 55 = ES
[SecurityExchange] 207 = CME_Eq
[TransactTime] 60 = 20121212-21:37:11.508
[SecurityType] 167 = FUT (FUTURE)
[fixcancelreject] 34=2571|49=test|56=T4Test|50=T4FIX|52=20121212-21:37:11.508|1=ernesto|37=NONE|11=fc-634909234315082852|41=fn-634909233209540909|39=8|434=1|102=1|58=Undetermined Order|60=20121212-21:37:11.508|1028=N|
[FIXCANCELREJECT]
[MsgSeqNum] 34 = 2571
[SenderCompID] 49 = test
[TargetCompID] 56 = T4Test
[SenderSubID] 50 = T4FIX
[SendingTime] 52 = 20121212-21:37:11.508
[Account] 1 = ernesto
[OrderID] 37 = NONE
[ClOrdID] 11 = fc-634909234315082852
[OrigClOrdID] 41 = fn-634909233209540909
[OrdStatus] 39 = 8 (REJECTED)
[CxlRejResponseTo] 434 = 1 (ORDER_CANCEL_REQUEST)
[CxlRejReason] 102 = 1 (UNKNOWN_ORDER)
[Text] 58 = Undetermined Order
[TransactTime] 60 = 20121212-21:37:11.508
[ManualOrderIndicator] 1028 = N (NO)
FIX API Home Page.